package com.chen.controller;

import com.chen.pojo.common.PageResult;
import com.chen.pojo.dto.VmDto;
import com.chen.pojo.vo.VmVo;
import com.chen.service.VmService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @author chen
 * @version 1.0
 * @create_date 2025/8/20
 * 设备管理
 */
@Slf4j
@RestController
@RequestMapping("/api/vm-service/vm")
public class VmController {
    @Autowired
    private VmService vmService;

    /**
     * 分页查询
     *
     * @param pageIndex 起始页
     * @param pageSize  页大小
     * @param innerCode 设备编号
     * @return 结果
     */
    @GetMapping("/search")
    public PageResult<VmVo> searchList(Integer pageIndex, Integer pageSize, String innerCode) {
        log.info("开始分页查询，当前页：{}，页面显示条数：{}，查询条件：设备编号-{}",
                pageIndex, pageSize, innerCode);
        return vmService.searchList(pageIndex, pageSize, innerCode);
    }

    /**
     * 新增设备
     *
     * @param vmDto 设备信息
     * @return 结果
     */
    @PostMapping
    public Boolean addVm(@RequestBody VmDto vmDto) {
        log.info("新增设备");
        return vmService.addVm(vmDto);
    }

    // 修改售货机点位信息
    @PutMapping("/{id}/{nodeId}")
    private Boolean updateVm(@PathVariable("id") String vmId, @PathVariable String nodeId) {
        return vmService.updateVm(vmId, nodeId);
    }

    // 应用策略
    @PutMapping("/applyPolicy")
    private Boolean applyPolicy(@RequestBody VmDto vmDto) {
        return vmService.applyPolicy(vmDto);
    }


}
